home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-04 / gs24src.zip / UNIX-GCC.MAK < prev    next >
Makefile  |  1992-03-25  |  45KB  |  1,278 lines

  1. #    Copyright (C) 1989, 1990, 1991 Aladdin Enterprises.  All rights reserved.
  2. #    Distributed by Free Software Foundation, Inc.
  3. #
  4. # This file is part of Ghostscript.
  5. #
  6. # Ghostscript is distributed in the hope that it will be useful, but
  7. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  8. # to anyone for the consequences of using it or for whether it serves any
  9. # particular purpose or works at all, unless he says so in writing.  Refer
  10. # to the Ghostscript General Public License for full details.
  11. #
  12. # Everyone is granted permission to copy, modify and redistribute
  13. # Ghostscript, but only under the conditions described in the Ghostscript
  14. # General Public License.  A copy of this license is supposed to have been
  15. # given to you along with Ghostscript so you can know your rights and
  16. # responsibilities.  It should be in a file named COPYING.  Among other
  17. # things, the copyright notice and this notice must be preserved on all
  18. # copies.
  19.  
  20. # makefile for Ghostscript, Unix/gcc/X11 configuration.
  21.  
  22. # ------------------------------- Options ------------------------------- #
  23.  
  24. ####### The following are the only parts of the file you should need to edit.
  25.  
  26. # ------ Generic options ------ #
  27.  
  28. # Define the default directory/ies for the runtime
  29. # initialization and font files.  Separate multiple directories with a :.
  30. # `pwd` means use the directory in which the 'make' is being done.
  31.  
  32. GS_LIB_DEFAULT=`pwd`:`pwd`/fonts
  33.  
  34. # Define the name of the Ghostscript initialization file.
  35. # (There is no reason to change this.)
  36.  
  37. GS_INIT=gs_init.ps
  38.  
  39. # Choose generic configuration options.
  40.  
  41. # -DDEBUG
  42. #    includes debugging features (-Z switch) in the code.
  43. #      Code runs substantially slower even if no debugging switches
  44. #      are set.
  45. # -DNOPRIVATE
  46. #    makes private (static) procedures and variables public,
  47. #      so they are visible to the debugger and profiler.
  48. #      No execution time or space penalty.
  49.  
  50. GENOPT=
  51.  
  52. # ------ Platform-specific options ------ #
  53.  
  54. # Define the name of the C compiler.
  55.  
  56. CC=gcc
  57.  
  58. # Define the other compilation flags.
  59. # Add -DBSD4_2 for 4.2bsd systems.
  60. # Add -DUSG (GNU convention) or -DSYSV for System V or DG/UX.
  61. # Add -DSYSV -D__SVR3 for SCO ODT.
  62. # Add -DSVR4 (not -DSYSV) for System V release 4.
  63. # XCFLAGS can be set from the command line.
  64. # We don't include -ansi, because this gets in the way of the platform-
  65. #   specific stuff that <math.h> typically needs.
  66.  
  67. CFLAGS=-g -O $(XCFLAGS)
  68.  
  69. # Define platform flags for ld.
  70. # SunOS and some others want -X; Ultrix wants -x.
  71. # SunOS 4.n may need -Bstatic.
  72. # XLDFLAGS can be set from the command line.
  73.  
  74. LDFLAGS=$(XLDFLAGS)
  75.  
  76. # Define any extra libraries to link into the executable.
  77. # SCO ODT apparently needs -lsocket.
  78. # (Libraries required by individual drivers are handled automatically.)
  79.  
  80. EXTRALIBS=
  81.  
  82. # Define the include switch(es) for the X11 header files.
  83. # This can be null if handled in some other way (e.g., the files are
  84. # in /usr/include, or the directory is supplied by an environment variable).
  85.  
  86. XINCLUDE=-I/usr/local/X/include
  87.  
  88. # Define the directory/ies for the X11 library files.
  89. # This can be null if these files are in the default linker search path.
  90.  
  91. XLIBDIRS=-L/usr/local/X/lib
  92.  
  93. # Define the installation commands and target directories for
  94. # executables and files.  Only relevant to `make install'.
  95.  
  96. INSTALL = install -c
  97. INSTALL_PROGRAM = $(INSTALL) -m 775
  98. INSTALL_DATA = $(INSTALL) -m 664
  99.  
  100. prefix = /usr/local
  101. bindir = $(prefix)/bin
  102. libdir = $(prefix)/lib/ghostscript
  103.  
  104. # ------ Devices and features ------ #
  105.  
  106. # Choose the language feature(s) to include.  See gs.mak for details.
  107.  
  108. FEATURE_DEVS=filter.dev dps.dev level2.dev
  109.  
  110. # Choose the device(s) to include.  See devs.mak for details.
  111.  
  112. DEVICE_DEVS=x11.dev
  113.  
  114. # ---------------------------- End of options --------------------------- #
  115.  
  116. # Define the name of the makefile -- used in dependencies.
  117.  
  118. MAKEFILE=unix-gcc.mak
  119.  
  120. # Define the ANSI-to-K&R dependency.  (gcc accepts ANSI syntax.)
  121.  
  122. AK=
  123.  
  124. # Define the compilation rules and flags.
  125.  
  126. CCC=$(CC) $(CCFLAGS) -c
  127.  
  128. # --------------------------- Generic makefile ---------------------------- #
  129.  
  130. # The remainder of the makefile (unixhead.mak, gs.mak, devs.mak, unixtail.mak)
  131. # is generic.  tar_cat concatenates all these together.
  132. #    Copyright (C) 1990, 1991 Aladdin Enterprises.  All rights reserved.
  133. #    Distributed by Free Software Foundation, Inc.
  134. #
  135. # This file is part of Ghostscript.
  136. #
  137. # Ghostscript is distributed in the hope that it will be useful, but
  138. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  139. # to anyone for the consequences of using it or for whether it serves any
  140. # particular purpose or works at all, unless he says so in writing.  Refer
  141. # to the Ghostscript General Public License for full details.
  142. #
  143. # Everyone is granted permission to copy, modify and redistribute
  144. # Ghostscript, but only under the conditions described in the Ghostscript
  145. # General Public License.  A copy of this license is supposed to have been
  146. # given to you along with Ghostscript so you can know your rights and
  147. # responsibilities.  It should be in a file named COPYING.  Among other
  148. # things, the copyright notice and this notice must be preserved on all
  149. # copies.
  150.  
  151. # Partial makefile for Ghostscript, common to all Unix configurations.
  152.  
  153. # This part of the makefile gets inserted after the compiler-specific part
  154. # (xxx-head.mak) and before gs.mak and devs.mak.
  155.  
  156. # ----------------------------- Generic stuff ----------------------------- #
  157.  
  158. # Define the platform name.
  159.  
  160. PLATFORM=unix_
  161.  
  162. # Define the extensions for the object and executable files.
  163.  
  164. OBJ=o
  165. XE=
  166.  
  167. # Define the need for uniq.
  168.  
  169. UNIQ=
  170.  
  171. # Define the current directory prefix, shell quote string, and shell names.
  172.  
  173. EXP=./
  174. QQ=\"
  175. SHELL=/bin/sh
  176. SH=$(SHELL)
  177. SHP=$(SH) $(EXP)
  178.  
  179. # Define the compilation rules and flags.
  180.  
  181. CCFLAGS=$(GENOPT) $(CFLAGS)
  182.  
  183. .c.o:
  184.     $(CCC) $*.c
  185.  
  186. CC0=$(CCC)
  187. CCINT=$(CCC)
  188. #    Copyright (C) 1989, 1992 Aladdin Enterprises.  All rights reserved.
  189. #    Distributed by Free Software Foundation, Inc.
  190. #
  191. # This file is part of Ghostscript.
  192. #
  193. # Ghostscript is distributed in the hope that it will be useful, but
  194. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  195. # to anyone for the consequences of using it or for whether it serves any
  196. # particular purpose or works at all, unless he says so in writing.  Refer
  197. # to the Ghostscript General Public License for full details.
  198. #
  199. # Everyone is granted permission to copy, modify and redistribute
  200. # Ghostscript, but only under the conditions described in the Ghostscript
  201. # General Public License.  A copy of this license is supposed to have been
  202. # given to you along with Ghostscript so you can know your rights and
  203. # responsibilities.  It should be in a file named COPYING.  Among other
  204. # things, the copyright notice and this notice must be preserved on all
  205. # copies.
  206.  
  207. # Generic makefile for Ghostscript.
  208. # The platform-specific makefiles `include' this file.
  209. # They define the following symbols:
  210. #    GS_INIT - the name of the initialization file for Ghostscript,
  211. #        normally gs_init.ps.
  212. #    GS_LIB_DEFAULT - the default directory/ies for searching for the
  213. #        initialization and font files at run time.
  214. #    DEVICE_DEVS - the devices to include in the executable.
  215. #        See devs.mak for details.
  216. #    FEATURE_DEVS - the optional features to include in the
  217. #        executable.  Current features are:
  218. #            dps - support for Display PostScript extensions.
  219. #            *** PARTIALLY IMPLEMENTED, SEE language.doc. ***
  220. #            level2 - support for PostScript Level 2 extensions.
  221. #            *** PARTIALLY IMPLEMENTED, SEE language.doc. ***
  222. #            compfont - support for composite (type 0) fonts.
  223. #            *** NOT IMPLEMENTED YET. ***
  224. #            filter - support for Level 2 filters (other than eexec,
  225. #            ASCIIHexEncode/Decode, and PFBDecode, which are
  226. #            always included).
  227. #            ccfonts - precompile fonts into C, and link them
  228. #            with the executable.  In the standard makefiles,
  229. #            this is only implemented for a very few fonts:
  230. #            see fonts.doc for details.
  231. # It is very unlikely that anyone would want to edit the remaining
  232. #   symbols, but we describe them here for completeness:
  233. #    PLATFORM - a "device" name for the platform, so that platforms can
  234. #        add various kinds of resources like devices and features.
  235. #    QQ - a " preceded by whatever escape characters are needed to
  236. #        persuade the shell to pass a " to a program (" on MS-DOS,
  237. #        \" on Unix).
  238. #    XE - the extension for executable files (e.g., null or .exe).
  239. #    OBJ - the extension for relocatable object files (e.g., o or obj).
  240. #    CCC - the C invocation for normal compilation.
  241. #    CC0 - a C invocation with the fewest possible flags.  Needed because
  242. #        MS-DOS limits the length of command lines to 128 characters.
  243. #    CCINT - the C invocation for compiling the main interpreter module,
  244. #        normally the same as CCC: this is needed because the
  245. #        Borland compiler generates *worse* code for this module
  246. #        (but only this module) when optimization (-O) is turned on.
  247. #    AK - if source files must be converted from ANSI to K&R syntax,
  248. #        this is ansi2knr$(XE); if not, it is null.
  249. #    UNIQ - null on systems that provide the uniq utility,
  250. #        uniq$(XE) on systems where we have to provide our own.
  251. #    SHP - the prefix for invoking a shell script in the current directory
  252. #        (null for MS-DOS, $(SH) ./ for Unix).
  253. #    EXPP, EXP - the prefix for invoking an executable program in the
  254. #        current directory (null for MS-DOS, ./ for Unix).
  255. #    SH - the shell for scripts (null on MS-DOS, sh on Unix).
  256. # The platform-specific makefiles must also include rules for creating
  257. #   ansi2knr$(XE) and genarch$(XE) from the corresponding .c files,
  258. #   and for making arch.h by executing genarch$(XE).  (This
  259. #   shouldn't really be necessary, but Turbo C and Unix C treat the -o
  260. #   switch slightly differently (Turbo C requires no following space,
  261. #   Unix C requires a following space), and I haven't found a way to capture
  262. #   the difference in a macro; also, Unix requires ./ because . may not be
  263. #   in the search path, whereas MS-DOS always looks in the current
  264. #   directory first.)
  265.  
  266. all default: gs$(XE)
  267.  
  268. test: gt$(XE)
  269.  
  270. mostlyclean realclean distclean clean:
  271.     rm -f *.$(OBJ) *.a core gmon.out
  272.     rm -f *.dev gconfig.h obj*.tr lib*.tr
  273.     rm -f t _temp_* _temp_*.* *.map *.sym
  274.     rm -f ansi2knr$(XE) genarch$(XE) uniq$(XE) arch.h gs$(XE)
  275.  
  276. # Auxiliary programs
  277.  
  278. # genarch may cause a (deliberate) addressing fault,
  279. # so we invoke it with a preceding -.
  280.  
  281. arch.h: genarch$(XE)
  282.     - $(EXPP) $(EXP)genarch arch.h
  283.  
  284. # -------------------------------- Library -------------------------------- #
  285.  
  286. # Define the inter-dependencies of the .h files.
  287. # Since not all versions of `make' defer expansion of macros,
  288. # we must list these in bottom-to-top order.
  289.  
  290. # Generic files
  291.  
  292. arch_h=arch.h
  293. std_h=std.h $(arch_h)
  294. gs_h=gs.h $(std_h)
  295. gx_h=gx.h $(gs_h)
  296.  
  297. # C library interfaces
  298.  
  299. # Because of variations in the "standard" header files between systems,
  300. # we define local include files named *_.h to substitute for <*.h>.
  301.  
  302. vmsmath_h=vmsmath.h
  303.  
  304. dos__h=dos_.h
  305. malloc__h=malloc_.h
  306. math__h=math_.h $(vmsmath_h)
  307. memory__h=memory_.h
  308. stat__h=stat_.h
  309. string__h=string_.h
  310. time__h=time_.h
  311.  
  312. # Miscellaneous
  313.  
  314. gserrors_h=gserrors.h
  315.  
  316. GX=$(AK) $(gx_h)
  317. GXERR=$(GX) $(gserrors_h)
  318.  
  319. ###### Low-level facilities and utilities
  320.  
  321. ### Include files
  322.  
  323. gschar_h=gschar.h
  324. gscolor_h=gscolor.h
  325. gscoord_h=gscoord.h
  326. gsfont_h=gsfont.h
  327. gsmatrix_h=gsmatrix.h
  328. gspaint_h=gspaint.h
  329. gspath_h=gspath.h
  330. gsprops_h=gsprops.h
  331. gsstate_h=gsstate.h $(gscolor_h)
  332. gstype1_h=gstype1.h
  333. gsutil_h=gsutil.h
  334.  
  335. gxarith_h=gxarith.h
  336. gxbitmap_h=gxbitmap.h
  337. gxcache_h=gxcache.h
  338. gxchar_h=gxchar.h $(gschar_h)
  339. gxclist_h=gxclist.h
  340. gxcpath_h=gxcpath.h
  341. gxdevice_h=gxdevice.h $(gsmatrix_h) $(gxbitmap_h)
  342. gxdevmem_h=gxdevmem.h
  343. gxfdir_h=gxfdir.h
  344. gxfixed_h=gxfixed.h
  345. gxfont_h=gxfont.h $(gsfont_h)
  346. gximage_h=gximage.h
  347. gxmatrix_h=gxmatrix.h $(gsmatrix_h)
  348. gxop1_h=gxop1.h
  349. gxpath_h=gxpath.h
  350. gxtype1_h=gxtype1.h $(gstype1_h)
  351.  
  352. gzcolor_h=gzcolor.h $(gscolor_h)
  353. gzdevice_h=gzdevice.h $(gxdevice_h)
  354. gzht_h=gzht.h
  355. gzline_h=gzline.h
  356. gzpath_h=gzpath.h $(gxpath_h)
  357. gzstate_h=gzstate.h $(gsstate_h)
  358.  
  359. ### Executable code
  360.  
  361. gsutil.$(OBJ): gsutil.c \
  362.   $(std_h) $(gsprops_h) $(gsutil_h)
  363.  
  364. gxcache.$(OBJ): gxcache.c $(GXERR) \
  365.   $(gxfixed_h) $(gxmatrix_h) $(gspaint_h) $(gzdevice_h) $(gzcolor_h) \
  366.   $(gxcpath_h) $(gxdevmem_h) $(gxfont_h) $(gxfdir_h) $(gxchar_h) \
  367.   $(gxcache_h) $(gzstate_h) $(gzpath_h)
  368.  
  369. gxclist.$(OBJ): gxclist.c $(GXERR) \
  370.   $(gsmatrix_h) $(gxbitmap_h) $(gxclist_h) $(gxdevice_h) $(gxdevmem_h)
  371.  
  372. gxcolor.$(OBJ): gxcolor.c $(GXERR) \
  373.   $(gxfixed_h) $(gxmatrix_h) $(gxdevice_h) $(gzcolor_h) $(gzht_h) $(gzstate_h)
  374.  
  375. gxcpath.$(OBJ): gxcpath.c $(GXERR) \
  376.   $(gxdevice_h) $(gxfixed_h) $(gzcolor_h) $(gzpath_h) $(gxcpath_h)
  377.  
  378. gxdither.$(OBJ): gxdither.c $(GX) \
  379.   $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzdevice_h) $(gzcolor_h) $(gzht_h)
  380.  
  381. gxdraw.$(OBJ): gxdraw.c $(GX) \
  382.   $(gxfixed_h) $(gxmatrix_h) $(gxbitmap_h) $(gzcolor_h) $(gzdevice_h) $(gzstate_h)
  383.  
  384. gxfill.$(OBJ): gxfill.c $(GXERR) \
  385.   $(gxfixed_h) $(gxmatrix_h) $(gxdevice_h) $(gzcolor_h) $(gzpath_h) $(gzstate_h) $(gxcpath_h)
  386.  
  387. gxht.$(OBJ): gxht.c $(GXERR) \
  388.   $(gxfixed_h) $(gxmatrix_h) $(gxbitmap_h) $(gzstate_h) $(gzcolor_h) $(gzdevice_h) $(gzht_h)
  389.  
  390. gxpath.$(OBJ): gxpath.c $(GXERR) \
  391.   $(gxfixed_h) $(gzpath_h)
  392.  
  393. gxpath2.$(OBJ): gxpath2.c $(GXERR) \
  394.   $(gxfixed_h) $(gxarith_h) $(gzpath_h)
  395.  
  396. gxstroke.$(OBJ): gxstroke.c $(GXERR) \
  397.   $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gzstate_h) $(gzcolor_h) $(gzdevice_h) $(gzline_h) $(gzpath_h)
  398.  
  399. ###### High-level facilities
  400.  
  401. gschar.$(OBJ): gschar.c $(GXERR) \
  402.   $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gzdevice_h) $(gxdevmem_h) $(gxfont_h) $(gxchar_h) $(gxcache_h) $(gstype1_h) $(gspath_h) $(gzpath_h) $(gzcolor_h) $(gzstate_h)
  403.  
  404. gscolor.$(OBJ): gscolor.c $(GXERR) \
  405.   $(gxfixed_h) $(gxmatrix_h) $(gxdevice_h) $(gzstate_h) $(gzcolor_h) $(gzht_h)
  406.  
  407. gscoord.$(OBJ): gscoord.c $(GXERR) \
  408.   $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gzdevice_h) $(gzstate_h) $(gscoord_h)
  409.  
  410. gsdevice.$(OBJ): gsdevice.c $(GXERR) \
  411.   $(gsarith_h) $(gsprops_h) $(gsutil_h) $(gxfixed_h) $(gxmatrix_h) $(gxbitmap_h) $(gxdevmem_h) $(gzstate_h) $(gzdevice_h)
  412.  
  413. gsfile.$(OBJ): gsfile.c $(GXERR) \
  414.   $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h)
  415.  
  416. gsfont.$(OBJ): gsfont.c $(GXERR) \
  417.   $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) $(gxfont_h) $(gxfdir_h) $(gzstate_h)
  418.  
  419. gsimage.$(OBJ): gsimage.c $(GXERR) \
  420.   $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gspaint_h) $(gzcolor_h) $(gzdevice_h) $(gzpath_h) $(gzstate_h) $(gxcpath_h) $(gxdevmem_h) $(gximage_h)
  421.  
  422. gsim2out.$(OBJ): gsim2out.c $(GXERR) \
  423.   $(gsstate_h) $(gsmatrix_h) $(gscoord_h) $(gxfixed_h) $(gxtype1_h)
  424.  
  425. gsline.$(OBJ): gsline.c $(GXERR) \
  426.   $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzline_h)
  427.  
  428. gsmatrix.$(OBJ): gsmatrix.c $(GXERR) \
  429.   $(gxfixed_h) $(gxarith_h) $(gxmatrix_h)
  430.  
  431. gsmisc.$(OBJ): gsmisc.c $(GX) $(MAKEFILE)
  432.     $(CCC) -DUSE_ASM=0$(USE_ASM) gsmisc.c
  433.  
  434. gspaint.$(OBJ): gspaint.c $(GXERR) \
  435.   $(gxfixed_h) $(gxmatrix_h) $(gspaint_h) $(gzpath_h) $(gzstate_h) $(gzdevice_h) $(gxcpath_h) $(gxdevmem_h) $(gximage_h)
  436.  
  437. gspath.$(OBJ): gspath.c $(GXERR) \
  438.   $(gxfixed_h) $(gxmatrix_h) $(gxpath_h) $(gzstate_h)
  439.  
  440. gspath2.$(OBJ): gspath2.c $(GXERR) \
  441.   $(gspath_h) $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzpath_h) $(gzdevice_h)
  442.  
  443. gsstate.$(OBJ): gsstate.c $(GXERR) \
  444.   $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzcolor_h) $(gzdevice_h) $(gzht_h) $(gzline_h) $(gzpath_h)
  445.  
  446. gstdev.$(OBJ): gstdev.c $(GX) \
  447.   $(gxbitmap_h) $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h)
  448.  
  449. gstype1.$(OBJ): gstype1.c $(GXERR) \
  450.   $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gxchar_h) $(gxdevmem_h) $(gxop1_h) $(gxtype1_h) \
  451.   $(gzstate_h) $(gzdevice_h) $(gzpath_h)
  452.  
  453. ###### The internal devices
  454.  
  455. gdevmem_h=gdevmem.h
  456.  
  457. gdevmem1.$(OBJ): gdevmem1.c $(AK) \
  458.   $(gs_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  459.  
  460. gdevmem2.$(OBJ): gdevmem2.c $(AK) \
  461.   $(gs_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  462.  
  463. ###### Files dependent on the installed devices, features, and platform.
  464. ###### Generating gconfig.h also generates obj*.tr and lib.tr.
  465.  
  466. gconfig.h gconfig.ps obj.tr lib.tr: devs.mak $(MAKEFILE) $(UNIQ) $(DEVICE_DEVS) $(FEATURE_DEVS) $(PLATFORM).dev
  467.     $(SHP)gsconfig $(DEVICE_DEVS) +
  468.     $(SHP)gsconfig + $(FEATURE_DEVS) $(PLATFORM).dev
  469.  
  470. gconfig.$(OBJ): gconfig.c $(AK) gconfig.h $(MAKEFILE)
  471.     $(CC0) -DGS_LIB_DEFAULT=$(QQ)$(GS_LIB_DEFAULT)$(QQ) -DGS_INIT=$(QQ)$(GS_INIT)$(QQ) gconfig.c
  472.  
  473. ###### On Unix, we pre-link all of the library except the back end.
  474. ###### On MS-DOS, we have to do the whole thing at once.
  475.  
  476. LIB=gschar.$(OBJ) gscolor.$(OBJ) gscoord.$(OBJ) \
  477.  gsdevice.$(OBJ) gsfile.$(OBJ) gsfont.$(OBJ) \
  478.  gsimage.$(OBJ) gsim2out.$(OBJ) \
  479.  gsline.$(OBJ) gsmatrix.$(OBJ) gsmisc.$(OBJ) \
  480.  gspaint.$(OBJ) gspath.$(OBJ) gspath2.$(OBJ) \
  481.  gsstate.$(OBJ) gstdev.$(OBJ) gstype1.$(OBJ) gsutil.$(OBJ) \
  482.  gxcache.$(OBJ) gxclist.$(OBJ) gxcolor.$(OBJ) gxcpath.$(OBJ) \
  483.  gxdither.$(OBJ) gxdraw.$(OBJ) gxfill.$(OBJ) \
  484.  gxht.$(OBJ) gxpath.$(OBJ) gxpath2.$(OBJ) gxstroke.$(OBJ) \
  485.  gdevmem1.$(OBJ) gdevmem2.$(OBJ) gconfig.$(OBJ)
  486.  
  487. # ------------------------------ Interpreter ------------------------------ #
  488.  
  489. ###### Include files
  490.  
  491. alloc_h=alloc.h
  492. astate_h=astate.h
  493. ccfont_h=ccfont.h
  494. dict_h=dict.h
  495. errors_h=errors.h
  496. estack_h=estack.h
  497. file_h=file.h
  498. font_h=font.h
  499. ghost_h=ghost.h $(gx_h)
  500. gp_h=gp.h
  501. iutil_h=iutil.h
  502. name_h=name.h
  503. opdef_h=opdef.h
  504. ostack_h=ostack.h
  505. overlay_h=overlay.h
  506. packed_h=packed.h
  507. save_h=save.h
  508. scanchar_h=scanchar.h
  509. state_h=state.h
  510. store_h=store.h
  511. stream_h=stream.h
  512. # Nested include files
  513. oper_h=oper.h $(gsutil_h) $(iutil_h) $(opdef_h) $(ostack_h)
  514. # Include files for optional features
  515. bnum_h=bnum.h
  516. bseq_h=bseq.h
  517. btoken_h=btoken.h
  518.  
  519. comp1_h=comp1.h $(ghost_h) $(oper_h) $(gserrors_h) $(gxfixed_h) $(gxop1_h)
  520.  
  521. gdevpcl_h=gdevpcl.h
  522. gdevprn_h=gdevprn.h $(memory__h) $(string__h) $(gs_h) \
  523.   $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h) $(gxclist_h)
  524. gdevx_h=gdevx.h
  525.  
  526. ###### Utilities
  527.  
  528. GH=$(AK) $(ghost_h)
  529.  
  530. ialloc.$(OBJ): ialloc.c $(AK) $(gs_h) $(alloc_h) $(astate_h)
  531.  
  532. iccfont.$(OBJ): iccfont.c $(GH) \
  533.  $(ghost_h) $(alloc_h) $(ccfont_h) $(dict_h) $(errors_h) $(name_h) $(save_h) $(store_h)
  534.  
  535. idebug.$(OBJ): idebug.c $(GH) \
  536.  $(iutil_h) $(dict_h) $(name_h) $(ostack_h) $(opdef_h) $(packed_h) $(store_h)
  537.  
  538. idict.$(OBJ): idict.c $(GH) $(alloc_h) $(errors_h) $(name_h) $(packed_h) $(save_h) $(store_h) $(iutil_h) $(dict_h)
  539.  
  540. iinit.$(OBJ): iinit.c $(GH) gconfig.h $(alloc_h) $(dict_h) $(errors_h) $(name_h) $(oper_h) $(store_h)
  541.  
  542. iname.$(OBJ): iname.c $(GH) $(alloc_h) $(errors_h) $(name_h) $(store_h)
  543.  
  544. isave.$(OBJ): isave.c $(GH) $(alloc_h) $(astate_h) $(name_h) $(packed_h) $(save_h) $(store_h)
  545.  
  546. iscan.$(OBJ): iscan.c $(GH) $(alloc_h) $(dict_h) $(errors_h) $(iutil_h) \
  547.  $(name_h) $(ostack_h) $(packed_h) $(store_h) $(stream_h) $(scanchar_h)
  548.  
  549. iutil.$(OBJ): iutil.c $(GH) \
  550.  $(errors_h) $(alloc_h) $(dict_h) $(iutil_h) $(name_h) $(ostack_h) $(opdef_h) $(store_h) \
  551.  $(gsmatrix_h) $(gxdevice_h) $(gzcolor_h)
  552.  
  553. sfilter.$(OBJ): sfilter.c $(AK) $(std_h) $(scanchar_h) $(stream_h) \
  554.  $(gxfixed_h) $(gstype1_h)
  555.  
  556. stream.$(OBJ): stream.c $(AK) $(std_h) $(stream_h) $(scanchar_h)
  557.  
  558. ###### Operators
  559.  
  560. OP=$(GH) $(errors_h) $(oper_h)
  561.  
  562. ### Non-graphics operators
  563.  
  564. zarith.$(OBJ): zarith.c $(OP) $(store_h)
  565.  
  566. zarray.$(OBJ): zarray.c $(OP) $(alloc_h) $(packed_h) $(store_h)
  567.  
  568. zcontrol.$(OBJ): zcontrol.c $(OP) $(estack_h) $(iutil_h) $(store_h)
  569.  
  570. zdict.$(OBJ): zdict.c $(OP) $(dict_h) $(store_h)
  571.  
  572. zfile.$(OBJ): zfile.c $(OP) $(gp_h) \
  573.   $(alloc_h) $(estack_h) $(file_h) $(iutil_h) $(save_h) $(stream_h) $(store_h)
  574.  
  575. zfileio.$(OBJ): zfileio.c $(OP) $(gp_h) \
  576.   $(estack_h) $(file_h) $(store_h) $(stream_h) \
  577.   $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h)
  578.  
  579. zfilter.$(OBJ): zfilter.c $(OP) $(alloc_h) $(stream_h)
  580.  
  581. zgeneric.$(OBJ): zgeneric.c $(OP) $(dict_h) $(estack_h) $(name_h) $(packed_h) $(store_h)
  582.  
  583. zmath.$(OBJ): zmath.c $(OP) $(store_h)
  584.  
  585. zmisc.$(OBJ): zmisc.c $(OP) $(gp_h) $(alloc_h) $(dict_h) $(name_h) $(packed_h) $(store_h) \
  586.   $(gstype1_h) $(gxfixed_h)
  587.  
  588. zpacked.$(OBJ): zpacked.c $(OP) \
  589.   $(alloc_h) $(dict_h) $(name_h) $(packed_h) $(save_h) $(store_h)
  590.  
  591. zprops.$(OBJ): zprops.c $(OP) \
  592.   $(alloc_h) $(dict_h) $(name_h) $(store_h) \
  593.   $(gsprops_h) $(gsmatrix_h) $(gxdevice_h)
  594.  
  595. zrelbit.$(OBJ): zrelbit.c $(OP) $(store_h) $(dict_h)
  596.  
  597. zstack.$(OBJ): zstack.c $(OP) $(store_h)
  598.  
  599. zstring.$(OBJ): zstring.c $(OP) $(alloc_h) $(iutil_h) $(name_h) $(store_h) $(stream_h)
  600.  
  601. ztype.$(OBJ): ztype.c $(OP) $(dict_h) $(iutil_h) $(name_h) $(stream_h) $(store_h)
  602.  
  603. zvmem.$(OBJ): zvmem.c $(OP) $(alloc_h) $(dict_h) $(estack_h) $(save_h) $(state_h) $(store_h) \
  604.   $(gsmatrix_h) $(gsstate_h)
  605.  
  606. ###### Graphics operators
  607.  
  608. zchar.$(OBJ): zchar.c $(OP) $(gxmatrix_h) $(gschar_h) $(gstype1_h) $(gxdevice_h) $(gxfixed_h) $(gxfont_h) $(gzpath_h) $(gzstate_h) $(alloc_h) $(dict_h) $(font_h) $(estack_h) $(state_h) $(store_h)
  609.  
  610. zcolor.$(OBJ): zcolor.c $(OP) $(alloc_h) $(estack_h) $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gxdevice_h) $(gzcolor_h) $(iutil_h) $(state_h) $(store_h)
  611.  
  612. zdevice.$(OBJ): zdevice.c $(OP) $(alloc_h) $(state_h) $(gsmatrix_h) $(gsstate_h) $(gxdevice_h) $(store_h)
  613.  
  614. zfont.$(OBJ): zfont.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) $(gxfdir_h) \
  615.  $(alloc_h) $(font_h) $(dict_h) $(name_h) $(packed_h) $(save_h) $(state_h) $(store_h)
  616.  
  617. zfont1.$(OBJ): zfont1.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gschar_h) $(gxfixed_h) $(gxfont_h) \
  618.  $(dict_h) $(font_h) $(name_h) $(store_h)
  619.  
  620. zfont2.$(OBJ): zfont2.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gschar_h) $(gxfixed_h) $(gxfont_h) \
  621.  $(alloc_h) $(dict_h) $(font_h) $(name_h) $(packed_h) $(store_h)
  622.  
  623. zgstate.$(OBJ): zgstate.c $(OP) $(alloc_h) $(gsmatrix_h) $(gsstate_h) $(state_h) $(store_h)
  624.  
  625. zht.$(OBJ): zht.c $(OP) $(alloc_h) $(estack_h) $(gsmatrix_h) $(gsstate_h) $(state_h) $(store_h)
  626.  
  627. zmatrix.$(OBJ): zmatrix.c $(OP) $(gsmatrix_h) $(state_h) $(gscoord_h) $(store_h)
  628.  
  629. zpaint.$(OBJ): zpaint.c $(OP) $(alloc_h) $(estack_h) $(gsmatrix_h) $(gspaint_h) $(state_h) $(store_h)
  630.  
  631. zpath.$(OBJ): zpath.c $(OP) $(gsmatrix_h) $(gspath_h) $(state_h) $(store_h)
  632.  
  633. zpath2.$(OBJ): zpath2.c $(OP) $(alloc_h) $(estack_h) $(gspath_h) $(state_h) $(store_h)
  634.  
  635. ###### Linking
  636.  
  637. INT=ialloc.$(OBJ) idebug.$(OBJ) idict.$(OBJ) iinit.$(OBJ) iname.$(OBJ) \
  638.  interp.$(OBJ) isave.$(OBJ) iscan.$(OBJ) iutil.$(OBJ) \
  639.  sfilter.$(OBJ) stream.$(OBJ) \
  640.  zarith.$(OBJ) zarray.$(OBJ) zcontrol.$(OBJ) zdict.$(OBJ) \
  641.  zfile.$(OBJ) zfileio.$(OBJ) zfilter.$(OBJ) zgeneric.$(OBJ) \
  642.  zmath.$(OBJ) zmisc.$(OBJ) zpacked.$(OBJ) zprops.$(OBJ) zrelbit.$(OBJ) \
  643.  zstack.$(OBJ) zstring.$(OBJ) ztype.$(OBJ) zvmem.$(OBJ) \
  644.  zchar.$(OBJ) zcolor.$(OBJ) zfont.$(OBJ) zfont1.$(OBJ) zfont2.$(OBJ) \
  645.  zdevice.$(OBJ) zgstate.$(OBJ) zht.$(OBJ) zmatrix.$(OBJ) \
  646.  zpaint.$(OBJ) zpath.$(OBJ) zpath2.$(OBJ)
  647.  
  648. # -------------------------- Optional features ---------------------------- #
  649.  
  650. ### Additions common to Display PostScript and Level 2
  651.  
  652. dpsand2_=gsdps1.$(OBJ) ibnum.$(OBJ) ibscan.$(OBJ) \
  653.  zbseq.$(OBJ) zdps1.$(OBJ) zupath.$(OBJ)
  654. dpsand2.dev: $(dpsand2_)
  655.     $(SHP)gssetmod dpsand2 $(dpsand2_)
  656.     $(SHP)gsaddmod dpsand2 -oper zbseq zdps1 zupath
  657.     $(SHP)gsaddmod dpsand2 -ps gs_dps1
  658.  
  659. gsdps1.$(OBJ): gsdps1.c $(GXERR) $(gsmatrix_h) $(gspath_h)
  660.  
  661. ibnum.$(OBJ): ibnum.c $(GH) $(errors_h) $(stream_h) $(bnum_h) $(btoken_h)
  662.  
  663. ibscan.$(OBJ): ibscan.c $(GH) $(errors_h) $(alloc_h) $(dict_h) $(iutil_h) $(name_h) $(ostack_h) $(save_h) $(store_h) $(stream_h) $(bseq_h) $(btoken_h) $(bnum_h)
  664.  
  665. zbseq.$(OBJ): zbseq.c $(OP) $(save_h) $(store_h) $(stream_h) $(file_h) $(name_h) $(bnum_h) $(btoken_h) $(bseq_h)
  666.  
  667. zdps1.$(OBJ): zdps1.c $(OP) $(gsmatrix_h) $(gspath_h) $(gsstate_h) \
  668.  $(state_h) $(store_h) $(stream_h) $(bnum_h)
  669.  
  670. zupath.$(OBJ): zupath.c $(OP) \
  671.  $(dict_h) $(iutil_h) $(state_h) $(store_h) $(stream_h) $(bnum_h) \
  672.  $(gscoord_h) $(gsmatrix_h) $(gspaint_h) $(gspath_h) $(gsstate_h) \
  673.  $(gxfixed_h) $(gxdevice_h) $(gxpath_h)
  674.  
  675. ### Display PostScript
  676.  
  677. # We should include zcontext, but it isn't in good enough shape yet.
  678. dps_=
  679. dps.dev: dpsand2.dev $(dps_)
  680.     $(SHP)gssetmod dps $(dps_)
  681.     $(SHP)gsaddmod dps -include dpsand2
  682.  
  683. zcontext.$(OBJ): zcontext.c $(OP) \
  684.  $(alloc_h) $(dict_h) $(estack_h) $(state_h) $(store_h)
  685.  
  686. ### Level 2 additions -- currently just things common to DPS and Level 2.
  687. # Should also include
  688. #    $(SHP)gsaddmod level2 -ps gs_lev2
  689.  
  690. level2_=
  691. level2.dev: dpsand2.dev $(level2_)
  692.     $(SHP)gssetmod level2 $(level2_)
  693.     $(SHP)gsaddmod level2 -include dpsand2
  694.  
  695. ### Composite font support
  696.  
  697. gschar0.$(OBJ): gschar0.c $(GXERR) \
  698.   $(gxfixed_h) $(gxmatrix_h) $(gzdevice_h) $(gxdevmem_h) $(gxfont_h) $(gxchar_h) $(gzstate_h)
  699.  
  700. zfont0.$(OBJ): zfont0.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) \
  701.  $(alloc_h) $(font_h) $(dict_h) $(name_h) $(state_h) $(store_h)
  702.  
  703. compfont_=zfont0.$(OBJ) gschar0.$(OBJ)
  704. compfont.dev: $(compfont_)
  705.     $(SHP)gssetmod compfont $(compfont_)
  706.     $(SHP)gsaddmod compfont -oper zfont0
  707.  
  708. ### Filters other than eexec and ASCIIHex
  709.  
  710. sfilter2.$(OBJ): sfilter2.c $(AK) $(std_h) $(scanchar_h) $(stream_h)
  711.  
  712. zfilter2.$(OBJ): zfilter2.c $(OP) $(alloc_h) $(stream_h)
  713.  
  714. filter_=zfilter2.$(OBJ) sfilter2.$(OBJ)
  715. filter.dev: $(filter_)
  716.     $(SHP)gssetmod filter $(filter_)
  717.     $(SHP)gsaddmod filter -oper zfilter2
  718.  
  719. ### LZW encoding/decoding
  720. ### Not included, because Unisys has been awarded a legal monopoly
  721. ### (patent) on the right to implement the freely published algorithms.
  722.  
  723. lzw_=zlzwd.$(OBJ) zlzwe.$(OBJ) slzwd.$(OBJ) slzwe.$(OBJ)
  724. lzw.dev: $(lzw_)
  725.     $(SHP)gssetmod lzw $(lzw_)
  726.     $(SHP)gsaddmod lzw -oper zlzwd zlzwe
  727.  
  728. slzwd.$(OBJ): slzwd.c $(AK) std.h stream.h
  729.  
  730. slzwe.$(OBJ): slzwe.c $(AK) std.h stream.h
  731.  
  732. zlzwd.$(OBJ): zlzwd.c $(OP) $(alloc_h) $(stream_h)
  733.  
  734. zlzwe.$(OBJ): zlzwe.c $(OP) $(alloc_h) $(stream_h)
  735.  
  736. ### Precompiled fonts.  See fonts.doc for more information.
  737.  
  738. CCFONT=$(OP) $(ccfont_h)
  739.  
  740. ccfonts_=ugly.$(OBJ) cour.$(OBJ)
  741. ccfonts.dev: $(ccfonts_) iccfont.$(OBJ)
  742.     $(SHP)gssetmod ccfonts $(ccfonts_) iccfont.$(OBJ)
  743.     $(SHP)gsaddmod ccfonts -oper font_Ugly font_Courier
  744.     $(SHP)gsaddmod ccfonts -ps gs_ccfnt
  745.  
  746. ugly.$(OBJ): ugly.c $(CCFONT)
  747.  
  748. cour.$(OBJ): cour.c $(CCFONT)
  749.  
  750. # ----------------------------- Main program ------------------------------ #
  751.  
  752. # Utilities shared between platforms
  753.  
  754. gsmain.$(OBJ): gsmain.c $(GX) \
  755.   $(gp_h) $(gsmatrix_h) $(gxdevice_h)
  756.  
  757. # Interpreter main program
  758.  
  759. interp.$(OBJ): interp.c $(GH) \
  760.   $(errors_h) $(estack_h) $(name_h) $(dict_h) $(oper_h) $(ostack_h) $(packed_h) $(save_h) $(store_h) $(stream_h)
  761.     $(CCINT) interp.c
  762.  
  763. gs.$(OBJ): gs.c $(GH) $(alloc_h) $(estack_h) $(ostack_h) $(store_h) $(stream_h)
  764. #    Copyright (C) 1989, 1992 Aladdin Enterprises.  All rights reserved.
  765. #    Distributed by Free Software Foundation, Inc.
  766. #
  767. # This file is part of Ghostscript.
  768. #
  769. # Ghostscript is distributed in the hope that it will be useful, but
  770. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  771. # to anyone for the consequences of using it or for whether it serves any
  772. # particular purpose or works at all, unless he says so in writing.  Refer
  773. # to the Ghostscript General Public License for full details.
  774. #
  775. # Everyone is granted permission to copy, modify and redistribute
  776. # Ghostscript, but only under the conditions described in the Ghostscript
  777. # General Public License.  A copy of this license is supposed to have been
  778. # given to you along with Ghostscript so you can know your rights and
  779. # responsibilities.  It should be in a file named COPYING.  Among other
  780. # things, the copyright notice and this notice must be preserved on all
  781. # copies.
  782.  
  783. # makefile for Ghostscript device drivers.
  784.  
  785. # -------------------------------- Catalog ------------------------------- #
  786.  
  787. # It is possible to build Ghostscript with an arbitrary collection of
  788. # device drivers, although some drivers are supported only on a subset
  789. # of the target platforms.  The currently available drivers are:
  790.  
  791. # Displays:
  792. #   MS-DOS EGA and VGA:
  793. #    ega    EGA (640x350, 16-color)
  794. #    vga    VGA (640x480, 16-color)
  795. #   MS-DOS SuperVGA:
  796. #   ****** NOTE: these devices do not work with the Watcom (32-bit MS-DOS)
  797. #   ****** compiler or executable.
  798. # +    atiw    ATI Wonder SuperVGA
  799. # *    mdb10    EIZO MDB-10 (1024 x 768)
  800. #    tseng    SuperVGA using Tseng Labs ET3000/4000 chips
  801. #    tseng16  Tseng Labs SuperVGA in 800x600, 16-color mode (256K memory)
  802. # +    tvga16    Trident SuperVGA in 800x600, 16-color mode (256K memory)
  803. #    vesa    SuperVGA with VESA standard API
  804. #   MS-DOS other:
  805. #    bgi    Borland Graphics Interface (CGA and Hercules)
  806. # *    pe    Private Eye
  807. #   Unix and VMS:
  808. # *    sonyfb    Sony Microsystems monochrome display   [Sony only]
  809. # *    sunview  SunView window system   [SunOS only]
  810. #    x11    X Windows version 11, release >=3   [Unix and VMS only]
  811. # Printers:
  812. #    bj10e    Canon BubbleJet BJ10e
  813. # *    cdeskjet  H-P DeskJet 500C
  814. # +    deskjet  H-P DeskJet and DeskJet Plus
  815. # *    dfaxhigh  DigiBoard, Inc.'s DigiFAX software format (high resolution)
  816. # *    dfaxlow  DigiFAX low (normal) resolution
  817. #    djet500  H-P DeskJet 500
  818. # *    djet500c  H-P DeskJet 500C
  819. #    epson    Epson-compatible dot matrix printers (9- or 24-pin)
  820. # *    epsonc    Epson LQ-2550 and Fujitsu 3400/2400/1200 color printers
  821. # +    laserjet  H-P LaserJet
  822. # *    lbp8    Canon LBP-8II laser printer
  823. # *    ln03    DEC LN03 printer   [Ultrix only?]
  824. # +    ljet2p    H-P LaserJet IId/IIp/III* with TIFF compression
  825. # +    ljet3    H-P LaserJet III* with Delta Row compression
  826. # *    ljetplus  H-P LaserJet Plus
  827. # *    nwp533  Sony Microsystems NWP533 laser printer   [Sony only]
  828. #    paintjet  H-P PaintJet color printer
  829. # *    r4081    Ricoh 4081 laser printer
  830. # *    trufax    TruFax facsimile driver  [Unix only]
  831. # File formats and others:
  832. #    bit    A "bit bucket" device for time benchmarking
  833.  
  834. # User-contributed drivers marked with * require hardware or software
  835. # that is not available to Aladdin Enterprises.  Please contact the
  836. # original contributors, not Aladdin Enterprises, if you have questions.
  837. # Contact information appears in the driver entry below.
  838. #
  839. # Drivers marked with a + are maintained by Aladdin Enterprises with
  840. # the assistance of users, since Aladdin Enterprises doesn't have access to
  841. # the hardware for these either.
  842.  
  843. # If you add drivers, it would be nice if you kept each list
  844. # in alphabetical order.
  845.  
  846. # Each platform-specific makefile must contain a line of the form
  847. #    DEVICE_DEVS=<dev1>.dev ... <devn>.dev
  848. # where dev1 ... devn are the devices to be included in the build.
  849. # dev1 will be used as the default device.
  850. # On MS-DOS platforms, this line must appear before the lines
  851. #    (!)include gs.mak
  852. #    (!)include devs.mak
  853. # in the makefile; on Unix systems, the device definition line
  854. # may appear anywhere in the makefile.
  855.  
  856. # ---------------------------- End of catalog ---------------------------- #
  857.  
  858. # If you want to add a new device driver, the examples below should be
  859. # enough of a guide to the correct form for the makefile rules.
  860.  
  861. # All device drivers depend on the following:
  862. GDEV=$(AK) $(gx_h) $(gxdevice_h)
  863.  
  864. ###### ------------------- MS-DOS display devices ------------------- ######
  865.  
  866. # There are really only two drivers: an EGA/VGA driver (4 bit-planes,
  867. # plane-addressed) and a SuperVGA driver (8 bit-planes, byte addressed).
  868.  
  869. ### ----------------------- EGA and VGA displays ----------------------- ###
  870.  
  871. gdevegaa.$(OBJ): gdevegaa.asm
  872.  
  873. ETEST=ega.$(OBJ) trace.$(OBJ) $(ega_)
  874. ega.exe: $(ETEST) libc$(MM).tr
  875.     tlink /m /l $(LIBDIR)\c0$(MM) @ega.tr @libc$(MM).tr
  876.  
  877. ega.$(OBJ): ega.c $(GDEV)
  878.  
  879. # The shared MS-DOS makefile defines PCFBASM as either gdevegaa.$(OBJ)
  880. # or an empty string.
  881.  
  882. EGAVGA=gdevpcfb.$(OBJ) $(PCFBASM)
  883.  
  884. gdevpcfb.$(OBJ): gdevpcfb.c $(GDEV) $(MAKEFILE) $(dos__h)
  885.     $(CCC) -DUSE_ASM=0$(USE_ASM) gdevpcfb.c
  886.  
  887. # The EGA/VGA family includes: EGA, VGA, MDB-10, and the
  888. # Tseng ET3000/4000 and Trident SuperVGA in 16-color mode.
  889.  
  890. ega.dev: $(EGAVGA)
  891.     $(SHP)gssetdev ega $(EGAVGA)
  892.  
  893. vga.dev: $(EGAVGA)
  894.     $(SHP)gssetdev vga $(EGAVGA)
  895.  
  896. mdb10.dev: $(EGAVGA)
  897.     $(SHP)gssetdev mdb10 $(EGAVGA)
  898.  
  899. tseng16.dev: $(EGAVGA)
  900.     $(SHP)gssetdev tseng16 $(EGAVGA)
  901.  
  902. tvga16.dev: $(EGAVGA)
  903.     $(SHP)gssetdev tvga16 $(EGAVGA)
  904.  
  905. ### ------------------------- SuperVGA displays ------------------------ ###
  906.  
  907. SVGA=gdevsvga.$(OBJ) $(PCFBASM)
  908.  
  909. gdevsvga.$(OBJ): gdevsvga.c $(GDEV) $(MAKEFILE) $(dos__h)
  910.     $(CCC) -DUSE_ASM=0$(USE_ASM) gdevsvga.c
  911.  
  912. # The SuperVGA family includes: ATI Wonder, Tseng ET3000/4000, and VESA.
  913.  
  914. atiw.dev: $(SVGA)
  915.     $(SHP)gssetdev atiw $(SVGA)
  916.  
  917. tseng.dev: $(SVGA)
  918.     $(SHP)gssetdev tseng $(SVGA)
  919.  
  920. vesa.dev: $(SVGA)
  921.     $(SHP)gssetdev vesa $(SVGA)
  922.  
  923. ### ------------ The BGI (Borland Graphics Interface) device ----------- ###
  924.  
  925. # We should use an implicit rule for running bgiobj,
  926. # but a bug in Borland's `make' utility makes this not work.
  927.  
  928. cga.$(OBJ): $(BGIDIR)\cga.bgi
  929.     $(BGIDIR)\bgiobj $(BGIDIR)\$&
  930.  
  931. egavga.$(OBJ): $(BGIDIR)\egavga.bgi
  932.     $(BGIDIR)\bgiobj $(BGIDIR)\$&
  933.  
  934. herc.$(OBJ): $(BGIDIR)\herc.bgi
  935.     $(BGIDIR)\bgiobj $(BGIDIR)\$&
  936.  
  937. # Include egavga.$(OBJ) for debugging only.
  938. bgi_=gdevbgi.$(OBJ) cga.$(OBJ) herc.$(OBJ)
  939. bgi.dev: $(bgi_)
  940.     $(SHP)gssetdev bgi $(bgi_)
  941.     $(SHP)gsaddmod bgi -lib $(LIBDIR)\graphics
  942.  
  943. gdevbgi.$(OBJ): gdevbgi.c $(GDEV) $(MAKEFILE)
  944.     $(CCC) -DBGI_LIB=$(QQ)$(BGIDIR)$(QQ) gdevbgi.c
  945.  
  946. ###### ------------------- The Private Eye display ------------------- ######
  947. ### Note: this driver was contributed by a user:                          ###
  948. ###   please contact narf@media-lab.media.mit.edu if you have questions.  ###
  949.  
  950. pe_=gdevpe.$(OBJ)
  951. pe.dev: $(pe_)
  952.     $(SHP)gssetdev pe $(pe_)
  953.  
  954. gdevpe.$(OBJ): gdevpe.c $(GDEV)
  955.  
  956. ###### --------------- Memory-buffered printer devices --------------- ######
  957.  
  958. PDEVH=$(GDEV) $(gxdevmem_h) $(gxclist_h) $(gdevprn_h)
  959.  
  960. gdevprn.$(OBJ): gdevprn.c $(PDEVH) $(gp_h) $(gsprops_h)
  961.  
  962. ### ----------------- The Canon BubbleJet BJ10e device ----------------- ###
  963.  
  964. bj10e_=gdevbj10.$(OBJ) gdevprn.$(OBJ)
  965. bj10e.dev: $(bj10e_)
  966.     $(SHP)gssetdev bj10e $(bj10e_)
  967.  
  968. gdevbj10.$(OBJ): gdevbj10.c $(PDEVH)
  969.  
  970. ### -------------------------- The DigiFAX device ----------------------- ###
  971. ###    This driver outputs images in a format suitable for use with       ###
  972. ###    DigiBoard, Inc.'s DigiFAX software.  Use -sDEVICE=dfaxhigh for     ###
  973. ###    high resolution output, -sDEVICE=dfaxlow for normal output.        ###
  974. ### Note: this driver was contributed by a user: please contact           ###
  975. ###       Rick Richardson (rick@digibd.com) if you have questions.        ###
  976.  
  977. digifax_=gdevdfax.$(OBJ) gdevprn.$(OBJ)
  978. dfaxhigh.dev: $(digifax_)
  979.     $(SHP)gssetdev dfaxhigh $(digifax_)
  980.  
  981. dfaxlow.dev: $(digifax_)
  982.     $(SHP)gssetdev dfaxlow $(digifax_)
  983.  
  984. gdevdfax.$(OBJ): gdevdfax.c $(GDEV) $(gdevprn_h) gdevdfg3.h
  985.  
  986. ### ----------- The H-P DeskJet and LaserJet printer devices ----------- ###
  987.  
  988. ### These are essentially the same device.
  989.  
  990. HPPCL=gdevprn.$(OBJ) gdevpcl.$(OBJ)
  991. HPMONO=gdevdjet.$(OBJ) $(HPPCL)
  992.  
  993. gdevpcl.$(OBJ): gdevpcl.c $(PDEVH) $(gdevpcl_h)
  994.  
  995. gdevdjet.$(OBJ): gdevdjet.c $(PDEVH) $(gdevpcl_h)
  996.  
  997. deskjet.dev: $(HPMONO)
  998.     $(SHP)gssetdev deskjet $(HPMONO)
  999.  
  1000. djet500.dev: $(HPMONO)
  1001.     $(SHP)gssetdev djet500 $(HPMONO)
  1002.  
  1003. laserjet.dev: $(HPMONO)
  1004.     $(SHP)gssetdev laserjet $(HPMONO)
  1005.  
  1006. ljetplus.dev: $(HPMONO)
  1007.     $(SHP)gssetdev ljetplus $(HPMONO)
  1008.  
  1009. ### Selecting ljet2p provides TIFF (mode 2) compression on LaserJet III,
  1010. ### IIIp, IIId, IIIsi, IId, and IIp. 
  1011.  
  1012. ljet2p.dev: $(HPMONO)
  1013.     $(SHP)gssetdev ljet2p $(HPMONO)
  1014.  
  1015. ### Selecting ljet3 provides Delta Row (mode 3) compression on LaserJet III,
  1016. ### IIIp, IIId, IIIsi.
  1017.  
  1018. ljet3.dev: $(HPMONO)
  1019.     $(SHP)gssetdev ljet3 $(HPMONO)
  1020.  
  1021. ### ------------ The H-P DeskJet 500C color printer device -------------- ###
  1022. ### Note: there are two different 500C drivers, both contributed by users.###
  1023. ###   If you have questions about the djet500c driver,                    ###
  1024. ###       please contact AKayser@et.tudelft.nl.                           ###
  1025. ###   If you have questions about the cdeskjet driver,                    ###
  1026. ###       please contact g.cameron@aberdeen.ac.uk.                        ###
  1027.  
  1028. cdeskjet_=gdevcdj.$(OBJ) $(HPPCL)
  1029. cdeskjet.dev: $(cdeskjet_)
  1030.     $(SHP)gssetdev cdeskjet $(cdeskjet_)
  1031.  
  1032. gdevcdj.$(OBJ): gdevcdj.c $(PDEVH) $(gdevpcl_h)
  1033.  
  1034. djet500c_=gdevdjtc.$(OBJ) $(HPPCL)
  1035. djet500c.dev: $(djet500c_)
  1036.     $(SHP)gssetdev djet500c $(djet500c_)
  1037.  
  1038. gdevdjtc.$(OBJ): gdevdjtc.c $(PDEVH) $(gdevpcl_h)
  1039.  
  1040. ### ----------------- The generic Epson printer device ----------------- ###
  1041.  
  1042. epson_=gdevepsn.$(OBJ) gdevprn.$(OBJ)
  1043. epson.dev: $(epson_)
  1044.     $(SHP)gssetdev epson $(epson_)
  1045.  
  1046. gdevepsn.$(OBJ): gdevepsn.c $(PDEVH) devs.mak
  1047.  
  1048. ### -------------- The Epson LQ-2550 color printer device -------------- ###
  1049. ### Note: this driver was contributed by users: please contact           ###
  1050. ###       Dave St. Clair (dave@exlog.com) if you have questions.         ###
  1051.  
  1052. epsonc_=gdevepsc.$(OBJ) gdevprn.$(OBJ)
  1053. epsonc.dev: $(epsonc_)
  1054.     $(SHP)gssetdev epsonc $(epsonc_)
  1055.  
  1056. gdevepsc.$(OBJ): gdevepsc.c $(PDEVH) devs.mak
  1057.  
  1058. ### ------------ The H-P PaintJet color printer device ----------------- ###
  1059.  
  1060. paintjet_=gdevpjet.$(OBJ) $(HPPCL)
  1061. paintjet.dev: $(paintjet_)
  1062.     $(SHP)gssetdev paintjet $(paintjet_)
  1063.  
  1064. gdevpjet.$(OBJ): gdevpjet.c $(PDEVH) $(gdevpcl_h)
  1065.  
  1066. ### ----------------- The Canon LBP-8II printer device ----------------- ###
  1067. ### Note: this driver was contributed by users: please contact           ###
  1068. ###       Tom Quinn (trq@prg.oxford.ac.uk) if you have questions.        ###
  1069. ### Note that the standard paper size for this driver is the European    ###
  1070. ###   A4 size, not the American 8.5" x 11" size.                         ###
  1071.  
  1072. lbp8_=gdevlbp8.$(OBJ) gdevprn.$(OBJ)
  1073. lbp8.dev: $(lbp8_)
  1074.     $(SHP)gssetdev lbp8 $(lbp8_)
  1075.  
  1076. gdevlbp8.$(OBJ): gdevlbp8.c $(PDEVH)
  1077.  
  1078. ### ----------------- The DEC LN03 printer device ---------------------- ###
  1079. ### Note: this driver was contributed by users: please contact           ###
  1080. ###       Ulrich Mueller (ulm@vsnhd1.cern.ch) if you have questions.     ###
  1081. ### A more general sixel driver is available from                        ###
  1082. ###       Ian MacPhedran (macphed@dvinci.USask.CA).                      ###
  1083.  
  1084. ln03_=gdevln03.$(OBJ) gdevprn.$(OBJ)
  1085. ln03.dev: $(ln03_)
  1086.     $(SHP)gssetdev ln03 $(ln03_)
  1087.  
  1088. gdevln03.$(OBJ): gdevln03.c $(PDEVH)
  1089.  
  1090. ### ------------- The Ricoh 4081 laser printer device ------------------ ###
  1091. ### Note: this driver was contributed by users:                          ###
  1092. ###       please contact kdw@oasis.icl.co.uk if you have questions.      ###
  1093.  
  1094. r4081_=gdev4081.$(OBJ) gdevprn.$(OBJ)
  1095. r4081.dev: $(r4081_)
  1096.     $(SHP)gssetdev r4081 $(r4081_)
  1097.  
  1098. gdev4081.$(OBJ): gdev4081.c $(PDEVH)
  1099.  
  1100. ###### ------------------------ Sony devices ------------------------ ######
  1101. ### Note: these drivers were contributed by users: please contact        ###
  1102. ###       Mike Smolenski (mike@srava.sra.co.jp) if you have questions.   ###
  1103.  
  1104. ### ------------------- Sony NeWS frame buffer device ------------------ ###
  1105.  
  1106. sonyfb_=gdevsnfb.$(OBJ) gdevprn.$(OBJ)
  1107. sonyfb.dev: $(sonyfb_)
  1108.     $(SHP)gssetdev sonyfb $(sonyfb_)
  1109.  
  1110. gdevsnfb.$(OBJ): gdevsnfb.c $(PDEVH)
  1111.  
  1112. ### -------------------- Sony NWP533 printer device -------------------- ###
  1113.  
  1114. nwp533_=gdevn533.$(OBJ) gdevprn.$(OBJ)
  1115. nwp533.dev: $(nwp533_)
  1116.     $(SHP)gssetdev nwp533 $(nwp533_)
  1117.  
  1118. gdevn533.$(OBJ): gdevn533.c $(PDEVH)
  1119.  
  1120. ###### --------------------- The SunView device --------------------- ######
  1121.  
  1122. sunview_=gdevsun.$(OBJ)
  1123. sunview.dev: $(sunview_)
  1124.     $(SHP)gssetdev sunview $(sunview_)
  1125.     $(SHP)gsaddmod sunview -lib suntool sunwindow pixrect
  1126.  
  1127. gdevsun.$(OBJ): gdevsun.c $(GDEV) $(arch_h)
  1128.  
  1129. ### ----------------- The TruFax facsimile device ---------------------- ###
  1130. ### Note: this driver was contributed by users:                          ###
  1131. ###       please contact nao@maestro.bellcore.com if you have questions. ###
  1132. ### Note that the driver requires a file encode_l.o supplied by the      ###
  1133. ###   makers of the TruFax product.                                      ###
  1134.  
  1135. trufax_=gdevtrfx.$(OBJ) gdevprn.$(OBJ) encode_l.$(OBJ)
  1136. trufax.dev: $(trufax_)
  1137.     $(SHP)gssetdev trufax $(trufax_)
  1138.  
  1139. gdevtrfx.$(OBJ): gdevtrfx.c $(GDEV)
  1140.  
  1141. ###### ----------------------- The X11 device ----------------------- ######
  1142.  
  1143. # Note that this includes some extra libraries to support Ghostview.
  1144. # Xt and Xext are included because on SunOS, some routine in Xmu calls
  1145. # XtMalloc, and something in Xt calls something in Xext, and Sun's
  1146. # dynamic library scheme requires pulling in all 3 libraries.
  1147. # On other operating systems, only Xmu is needed.
  1148.  
  1149. # Aladdin Enterprises does not support Ghostview.  For more information
  1150. # about Ghostview, contact Tim Theisen (ghostview@cs.wisc.edu).
  1151.  
  1152. x11_=gdevx.$(OBJ) gdevxini.$(OBJ)
  1153. x11.dev: $(x11_)
  1154.     $(SHP)gssetdev x11 $(x11_)
  1155.     $(SHP)gsaddmod x11 -lib Xmu Xt Xext X11
  1156.  
  1157. # See the main makefile for the definition of XINCLUDE.
  1158. GDEVX=$(GDEV) x_.h gdevx.h $(MAKEFILE)
  1159. gdevx.$(OBJ): gdevx.c $(GDEVX)
  1160.     $(CCC) $(XINCLUDE) gdevx.c
  1161.  
  1162. gdevxini.$(OBJ): gdevxini.c $(GDEVX)
  1163.     $(CCC) $(XINCLUDE) gdevxini.c
  1164.  
  1165. ### ---------------------- The bit bucket device ----------------------- ###
  1166.  
  1167. bit_=gdevbit.$(OBJ) gdevprn.$(OBJ)
  1168. bit.dev: $(bit_)
  1169.     $(SHP)gssetdev bit $(bit_)
  1170.  
  1171. gdevbit.$(OBJ): gdevbit.c $(PDEVH)
  1172. #    Copyright (C) 1990, 1992 Aladdin Enterprises.  All rights reserved.
  1173. #    Distributed by Free Software Foundation, Inc.
  1174. #
  1175. # This file is part of Ghostscript.
  1176. #
  1177. # Ghostscript is distributed in the hope that it will be useful, but
  1178. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  1179. # to anyone for the consequences of using it or for whether it serves any
  1180. # particular purpose or works at all, unless he says so in writing.  Refer
  1181. # to the Ghostscript General Public License for full details.
  1182. #
  1183. # Everyone is granted permission to copy, modify and redistribute
  1184. # Ghostscript, but only under the conditions described in the Ghostscript
  1185. # General Public License.  A copy of this license is supposed to have been
  1186. # given to you along with Ghostscript so you can know your rights and
  1187. # responsibilities.  It should be in a file named COPYING.  Among other
  1188. # things, the copyright notice and this notice must be preserved on all
  1189. # copies.
  1190.  
  1191. # Partial makefile for Ghostscript, common to all Unix configurations.
  1192.  
  1193. # This is the last part of the makefile for Unix configurations.
  1194. # Since Unix make doesn't have an 'include' facility, we concatenate
  1195. # the various parts of the makefile together by brute force (in tar_cat).
  1196.  
  1197. # The following prevents GNU make from constructing argument lists that
  1198. # include all environment variables, which can easily be longer than
  1199. # brain-damaged system V allows.
  1200.  
  1201. .NOEXPORT:
  1202.  
  1203. # -------------------------------- Library -------------------------------- #
  1204.  
  1205. ## The Unix platform
  1206.  
  1207. unix__=gp_unix.$(OBJ)
  1208. unix_.dev: $(unix__)
  1209.     $(SHP)gssetmod unix_ $(unix__)
  1210.  
  1211. gp_unix.$(OBJ): gp_unix.c $(memory__h) $(string__h) $(gx_h) $(gp_h) \
  1212.  $(stat__h) $(time__h)
  1213.  
  1214. # -------------------------- Auxiliary programs --------------------------- #
  1215.  
  1216. ansi2knr$(XE):
  1217.     $(CC) -o ansi2knr$(XE) $(CFLAGS) ansi2knr.c $(EXTRALIBS)
  1218.  
  1219. genarch$(XE): genarch.c
  1220.     $(CC) -o genarch$(XE) $(CFLAGS) genarch.c $(EXTRALIBS)
  1221.  
  1222. # ----------------------------- Main program ------------------------------ #
  1223.  
  1224. # (Dummy) tracing package
  1225.  
  1226. utrace.$(OBJ): utrace.c
  1227.  
  1228. # Main program
  1229.  
  1230. ALLUNIX=gsmain.$(OBJ) utrace.$(OBJ) $(LIB)
  1231.  
  1232. # Interpreter main program
  1233.  
  1234. GSUNIX=gs.$(OBJ) $(INT) $(ALLUNIX)
  1235.  
  1236. gs: $(GSUNIX) obj.tr lib.tr
  1237.     $(SHP)echoq $(CC) $(LDFLAGS) $(XLIBDIRS) -o gs $(GSUNIX) >_temp_
  1238.     cat obj.tr >>_temp_
  1239.     cat lib.tr >>_temp_
  1240.     echo $(EXTRALIBS) -lm >>_temp_
  1241.     $(SH) <_temp_
  1242.  
  1243. # Installation
  1244.  
  1245. TAGS:
  1246.     etags -t *.c *.h
  1247.  
  1248. install: gs
  1249.     -mkdir $(bindir)
  1250.     $(INSTALL_PROGRAM) gs $(bindir)
  1251.     $(INSTALL_PROGRAM) gsnd $(bindir)
  1252.     $(INSTALL_PROGRAM) bdftops $(bindir)
  1253.     $(INSTALL_PROGRAM) font2c $(bindir)
  1254.     $(INSTALL_PROGRAM) pfbtogs $(bindir)
  1255.     -mkdir $(libdir)
  1256.     $(INSTALL_DATA) gs_init.ps $(libdir)
  1257.     $(INSTALL_DATA) gs_2asc.ps $(libdir)
  1258.     $(INSTALL_DATA) gs_ccfnt.ps $(libdir)
  1259.     $(INSTALL_DATA) gs_dps1.ps $(libdir)
  1260.     $(INSTALL_DATA) gs_fonts.ps $(libdir)
  1261.     $(INSTALL_DATA) gs_lev2.ps $(libdir)
  1262.     $(INSTALL_DATA) gs_statd.ps $(libdir)
  1263.     $(INSTALL_DATA) sym__enc.ps $(libdir)
  1264.     $(INSTALL_DATA) gconfig.ps $(libdir)
  1265.     $(INSTALL_DATA) quit.ps $(libdir)
  1266.     $(INSTALL_DATA) Fontmap $(libdir)
  1267.     $(INSTALL_DATA) uglyr.gsf $(libdir)
  1268.     $(INSTALL_DATA) chess.ps $(libdir)
  1269.     $(INSTALL_DATA) cheq.ps $(libdir)
  1270.     $(INSTALL_DATA) golfer.ps $(libdir)
  1271.     $(INSTALL_DATA) escher.ps $(libdir)
  1272.     $(INSTALL_DATA) decrypt.ps $(libdir)
  1273.     $(INSTALL_DATA) bdftops.ps $(libdir)
  1274.     $(INSTALL_DATA) font2c.ps $(libdir)
  1275.     $(INSTALL_DATA) pfbtogs.ps $(libdir)
  1276.     $(INSTALL_DATA) pstoppm.ps $(libdir)
  1277.     $(INSTALL_DATA) prfont.ps $(libdir)
  1278.